package system

import "go-api-template/api/models"

type ArticleStatus int

const (
	ArticleStatusEdit   ArticleStatus = 1 // 编辑中
	ArticleStatusOnline ArticleStatus = 2 // 已上线
	ArticleStatusOff    ArticleStatus = 3 // 已下架
	ArticleStatusDelete ArticleStatus = 4 // 已删除
)

type Article struct {
	models.BaseModel
	Name    string        `gorm:"column:name" json:"name,omitempty"`
	Content string        `gorm:"column:content" json:"content,omitempty"`
	Status  ArticleStatus `gorm:"column:status" json:"status,omitempty"` // 状态（1:编辑中 2:已上线 3:已下架 4:已删除）
}

func (a Article) TableName() string {
	return "system_article"
}

type ArticleTag struct {
	models.BaseModel
	ArticleId string        `gorm:"column:article_id" json:"article_id,omitempty"`
	TagId     string        `gorm:"column:tag_id" json:"tag_id,omitempty"`
	TagName   string        `gorm:"column:tag_name" json:"tag_name,omitempty"`
	Status    ArticleStatus `gorm:"column:status" json:"status,omitempty"`
}

func (a ArticleTag) TableName() string {
	return "system_article_tag"
}
